spassbremse
Goto Top

AD Attribute aus ActiveDirectory auslesen

Hallo zusammen,

ich stehe gerade richtig auf dem Schlauch. Aufgrund eines Sync Problems, fehlen bei einigen Rechnern in den AD Attributen die Serienummer.
Jetzt möchte ich natürlich alle Rechner per Poweshell auslesen und schauen bei welchen dies fehlt.
Aber wie komme ich an genau das Attribut ran?
Wenn ich sage ich will serialNumber auslesen, bekomme ich nur "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection"

Was mache ich falsch ?

Vielen DAnk für Eure Unterstützung

Content-Key: 6539342318

Url: https://administrator.de/contentid/6539342318

Printed on: May 20, 2024 at 19:05 o'clock

Member: DerMaddin
DerMaddin Mar 28, 2023 at 07:08:26 (UTC)
Goto Top
Das Auslesen der Seriennummer mit PS geht so:

Get-WmiObject Win32_bios | select Serialnumber
Mitglied: 2423392070
2423392070 Mar 28, 2023 at 07:09:22 (UTC)
Goto Top
Welche Seriennummer?

BIOS get Serialnumber?
Member: Spassbremse
Spassbremse Mar 28, 2023 at 07:20:45 (UTC)
Goto Top
Ich möchte die Serienummmern auslesen, welche bei allen rechnern als Attribut im AD hinterlegt sind.
Also genau das Feld, was im Screenshot leer ist
screenshot 2023-03-28 092023
Member: Hubert.N
Hubert.N Mar 28, 2023 at 07:25:27 (UTC)
Goto Top
Moin

Get-ADComputer -filter * -Properties name, serialnumber | ft name, serialnumber

Der Sinn hinter der Sache wird Dir ja sicherlich bekannt sein, weil es eigentlich Standard ist, das dieses Feld leer ist.

Gruß
Member: Spassbremse
Spassbremse Mar 28, 2023 at 07:25:48 (UTC)
Goto Top
PS C:\> Get-ADComputer -filter * -SearchBase "OU=xxx,OU=xxx,OU=Systems,OU=DE,DC=xxx,DC=xxx,DC=xxx" -properties name,serialNumber | select name,serialNumber=null | Export-CSV c:\computers.csv -NoTypeInformation

Dieser hier funktioniert leider nicht
Hier zeigt er mir leider nur "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection"
Mitglied: 3063370895
3063370895 Mar 28, 2023 at 07:27:04 (UTC)
Goto Top
Hi,
Get-ADComputer -Filter * -Properties serialNumber | Select-Object Name,serialNumber
Mitglied: 2423392070
2423392070 Mar 28, 2023 at 07:27:07 (UTC)
Goto Top
Ich will den Spaß nicht Bremsen, aber das wird nicht genutzt.
Mitglied: 3063370895
3063370895 Mar 28, 2023 at 07:29:31 (UTC)
Goto Top
Man könnte es natürlich selbst befüllen
Member: Spassbremse
Spassbremse Mar 28, 2023 at 07:35:13 (UTC)
Goto Top
Zitat von @Hubert.N:

Moin

Get-ADComputer -filter * -Properties name, serialnumber | ft name, serialnumber

Der Sinn hinter der Sache wird Dir ja sicherlich bekannt sein, weil es eigentlich Standard ist, das dieses Feld leer ist.

Gruß

Bei uns ist das Feld aber wichtig, aufgrund Syncronisation in andere Systeme
Aber der Code klappt auch nicht
Member: Spassbremse
Spassbremse Mar 28, 2023 at 07:35:53 (UTC)
Goto Top
Zitat von @chaot1coz:

Hi,
Get-ADComputer -Filter * -Properties serialNumber | Select-Object Name,serialNumber

Geht leider auch nicht.
Kommt auch hier nur "Hier zeigt er mir leider nur "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection"
Mitglied: 3063370895
3063370895 Mar 28, 2023 updated at 07:44:43 (UTC)
Goto Top
Dann stimmt bei dir irgendwas anderes nicht.
(abc wurde von mir manuell eingetragen)

ca9irrmctv
Mitglied: 6247018886
Solution 6247018886 Mar 28, 2023 updated at 08:04:47 (UTC)
Goto Top
Nun die Property ist ja vom Typ ADPropertyValueCollection da weiß die PowerShell nicht von selbst wie sie die zu einem String bauen soll, man muss es ihr also sagen ...
Get-ADComputer -filter * -Properties name, serialnumber | select name, @{n='Serialnumber';e={$_.Serialnumber.Value -join ','}} | Export-CSV c:\computers.csv -NoTypeInformation -Delimiter ";"  
Member: Spassbremse
Spassbremse Mar 28, 2023 at 08:05:08 (UTC)
Goto Top
Zitat von @6247018886:

Nun die Property ist ja vom Typ ADObjectCollection da weiß die PowerShell nicht wie sie die zu einem String bauen soll, man muss es ihr also sagen ...
Get-ADComputer -filter * -Properties name, serialnumber | select name, @{n='Serialnumber';e={$_.Serialnumber.Value -join ','}} | Export-CSV c:\computers.csv -NoTypeInformation -Delimiter ";"  

YEahhhhhh, das geht super.
Ich bedanke mich vielmals für die super schnelle Hilfe
Member: Spassbremse
Spassbremse Mar 28, 2023 at 08:27:58 (UTC)
Goto Top
Aber jetzt noch eine Zusatzfrage.
Kann ich es auch bei den rechnern wo es fehlt gleich importieren?
Mitglied: 6247018886
6247018886 Mar 28, 2023 updated at 11:32:37 (UTC)
Goto Top
Zitat von @Spassbremse:
Aber jetzt noch eine Zusatzfrage.
Kann ich es auch bei den rechnern wo es fehlt gleich importieren?
Get-ADComputer -LDAPFilter "(!(SerialNumber=*))" -Properties serialnumber | %{  
    Set-AdComputer $_.DistinguishedName -Replace @{Serialnumber=((Get-CimInstance -Computername $_.DnsHostname -Class Win32_Bios -Property Serialnumber).Serialnumber)} -confirm:$false
}